//    Copyright (C) Kherty.  All rights reserved.
using System;
using OpenLS.Core.Serialization;

namespace OpenLS.Spreadsheet.Serialization
{
    static class SpreadsheetConstants
    {
        private const string MicrosoftSpreadsheetNamespaceUri = @"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main";

        internal static readonly XmlNamespace MicrosoftSpreadsheetNamespace = new XmlNamespace("xl14",
                                                                                               MicrosoftSpreadsheetNamespaceUri,
                                                                                               false);
        public const string SpreadsheetNamespaceUri = @"http://schemas.openxmlformats.org/spreadsheetml/2006/main";
        public const string SpreadsheetPrefix= @"s";
        public readonly static XmlNamespace Spreadsheet = new XmlNamespace(null, SpreadsheetNamespaceUri, false);
        public const string SpreadsheetDrawingNamespaceUri = @"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing";
        private const string SpreadsheetDrawingPrefix = @"xdr";
        public readonly static XmlNamespace SpreadsheetDrawingNamespace = new XmlNamespace(SpreadsheetDrawingPrefix, SpreadsheetDrawingNamespaceUri, false);
        internal static string PivotCacheRecordsContentType = @"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml";

        internal static string PivotCacheRecordsRelationship =
            "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheRecords";
        internal static string PrinterSettings =
            "http://schemas.openxmlformats.org/officeDocument/2006/relationships/printerSettings";

        internal static string PrinterSettingsContentType =
            "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings";

        public static XmlNamespace ExcelMainNamespace = new XmlNamespace("xm", @"http://schemas.microsoft.com/office/excel/2006/main", false);

        public const  string CustomXmlRelationship =
            @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/";

        internal const string PivotTableContentType =
            "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml";

        internal const string PivotTableRelationship =
            "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable";
        public const string ImageRelationshipNamespace = @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"; //\\
        
        public const string CommentsRelationsipType = @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";
        public const string CommentsContentType = @"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml";
        
        public const string TableRelationshipType = @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table";
        public const string TableContentType = @"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml";

        public const string ConnectionRelationshipType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections";

        public const string ConnectionContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml";
        public const string QueryTableRelationshipType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/queryTable";
        public const string QueryTableContentType = @"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml";
        public const string DialogsheetContentType = @"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml";
        public const string ChartsheetContentType = @"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml";
        public const string WorksheetContentType = @"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml";
        public const string WorksheetRelationshipType = @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";
        public const string ChartsheetRelationshipType = @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet";
        public const string DialogsheetRelationshipType = @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet";
        public const string ExternalLinkRelationshipType = @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink";
        public const string ExternalLinkRelationshipPathType = @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath";

        public const string ExternalLinkContentType = @"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml";
        public const string VmlDrawingRelationshipType = @"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing";

        public const string VmlContentType = @"application/vnd.openxmlformats-officedocument.vmlDrawing";

        public const string PivotCacheDefinitionType =
            "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition";
        public const string PivotCacheDefinitionContentType =
            "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml";
    }
}
